import Vue from 'vue'
import  Vuex from 'vuex'
Vue.use(Vuex);

export default new Vuex.Store({
  state: {//设置全局属性
    count: 0,
    name: 'lzx',
    currentFrameNameStore: 'leaflet',
    // geoJsonLayerGroup:null,//加载的geojson图层统一管理
  },
  getters:{//派生状态。也就是set、get中的get。外部调用方式：store.getters.personInfo()

  },
  mutations: {//提交状态修改，是vuex中唯一修改state的方式，但不支持异步操作。外部调用方式：store.commit('SET_AGE', 18)
    increment (state,str) {//第一个参数必须是state
      this.state.count++;
      console.log("store里的方法被触发啦，而且还拿到了参数" + str)
    },
    changeFrameName(){
      this.currentFrameNameStore = this.currentFrameNameStore === 'leaflet' ? 'cesium' : 'leaflet';
    },

  },
  actions:{//actions支持异步操作,外部调用方式store.dispatch('nameAsyn')。

  },
  modules:{//store的子模块，内容就相当于是store的一个实例。外部调用方式store.a.getters.xxx()。

  }
});
